A Survey of Verification Techniques for Cache Coherence Protocols
نویسندگان
چکیده
In this paper, we present a comprehensive survey of various approaches for the verification of cache coherence protocols based on state enumeration, (symbolic) model checking and symbolic state models. Since these techniques search the state space of the protocol exhaustively, the amount of memory required to manipulate the state information and the verification time grow very fast with the number of processors and the complexity of the protocol mechanisms. To be successful for systems of arbitrary complexity, a verification technique must solve this so-called state space explosion problem. The emphasis of our discussion is on the underlying theory in each method to handle the state space explosion problem, and to formulate and check the safety properties (e.g., data consistency) and the liveness properties (absence of deadlock and livelock). We compare the efficiency and discuss the limitations of each technique in terms of memory and computation time. Also, we discuss issues of generality, applicability, automaticity and amenity for existing tools in each class of methods. No method is truly superior because each method has its own strengths and weaknesses. Finally, refinements which can further reduce the verification time and/or the memory requirement are also discussed. Corresponding author: Fong Pong. Email: [email protected]
منابع مشابه
Verification techniques for cache coherence protocols . by Fong Pong and Michel Dubois
A comprehensive survey on the current research efforts to verify the cache coherence protocols is presented. Methods with mechanical verification procedures such as the state enumeration (symbolic), model checking, and symbolic state model are specifically discussed. The underlying approach of each method to handle the state space explosion problem for verification is focused. The efficiency an...
متن کاملExact and Efficient Verification of Parameterized Cache Coherence Protocols
We propose new, tractably (in some cases provably) efficient algorithmic methods for exact (sound and complete) parameterized reasoning about cache coherence protocols. For reasoning about general snoopy cache protocols, we introduce the guarded broadcast protocols model and show how an abstract history graph construction can be used to reason about safety properties for this framework. Althoug...
متن کاملVerification of the Futurebus+ Cache Coherence protocol: A case study in model checking
This paper presents a case study for automatic verification using the Communicating Sequential Processes formalism. The case study concerns the Futurebus+ cache coherency standard; we develop a formal model of the protocol and perform some verification tasks upon it. In the process of doing so, we extend the previous solution by developing a formal specification of cache coherence that is suita...
متن کاملDomain Pattern Abstraction + Ptolemaic Abstract Domains = Environment Abstraction for Concurrent Systems
With the rapid onset of the multi-core era, the verification of multi-threaded systems and concurrent algorithms has become a pressing problem in the hardware and software industries. While traditional techniques like testing and simulation are often adequate for sequential software and hardware, they are not suited for validating concurrent systems; due to their their massive parallelism, conc...
متن کاملFormal Verification of the HAL S1 System Cache Coherence Protocol
This paper describes our experience applying formal verification to the cache coherence protocol of the HAL S1 System, a shared-memory and/or message-passing multiprocessor consisting of standard Intel Pentium R Pro symmetric multiprocessing (SMP) servers connected by HAL’s proprietary Mercury Interconnect to create a cache-coherent, non-uniform memory access (CC-NUMA) machine. In recent years,...
متن کامل